<!DOCTYPE html>
<html lang="zh" xmlns:th="http://www.thymeleaf.org" xmlns:shiro="http://www.pollix.at/thymeleaf/shiro">
<head>
    <th:block th:include="include :: header('下辖机构状况')"/>
    <th:block th:include="include :: datetimepicker-css"/>
</head>
<body class="gray-bg">
<div class="container-div">
    <div class="row">

        <!--<div class="btn-group-sm time-search" id="toolbar" role="group">-->

        <!--<div class="input-group date time-input—search">-->
        <!--<span class="input-group-addon"><i class="fa fa-calendar"></i></span>-->
        <!--<input type="text" class="input-group-sm" id="laydate-demo-4"-->
        <!--placeholder="yyyy-MM-dd - yyyy-MM-dd">-->

        <!--<a class="btn btn-sm  btn-success" onclick="$.table.search()" shiro:hasPermission="yf:hospital:add">-->
        <!--<i class="fa fa-plus"></i> 查询-->
        <!--</a>-->
        <!--</div>-->
        <!--</div>-->

        <div class="col-sm-12 select-table table-striped">
            <table id="bootstrap-table" lay-filter="bootstrap-table"></table>
        </div>
    </div>
</div>

<script type="text/html" id="toolbarDate">
    <div class="layui-inline">
        <label class="layui-form-label ">日期</label>
        <div class="layui-input-inline input-lang">
            <input type="text" class="layui-input layui-input-date" id="toolbarDate_layui">
        </div>
        <button type="button" lay-event="submits" class="layui-btn layui-btn-primary">查询</button>
    </div>
</script>
<script type="text/html" id="toolbarDate2">
    <div class="layui-inline ">
        <label class="layui-form-label ">日期：</label>
        <div class="layui-input-inline input-short">
            <input type="text" class="layui-input layui-input-date" id="toolbarDate_layui_2_start">
        </div>
        <div class="layui-input-inline "> ~ </div>
        <div class="layui-input-inline input-short">
            <input type="text" class="layui-input layui-input-date" id="toolbarDate_layui_2_end">
        </div>

        <button type="button" lay-event="submits" class="layui-btn layui-btn-primary">查询</button>
    </div>
</script>
<script type="text/html" id="titleTpl">
    <a href="/detail/{{d.id}}" class="layui-table-link">{{d.d1}}</a>
</script>


<script type="text/html" id="barOperation">
    <a class="layui-btn layui-btn-sm" lay-event="hospital">按医疗机构统计</a>
    <a class="layui-btn layui-btn-sm" lay-event="staging">按暂存点统计</a>
    <a class="layui-btn layui-btn-danger layui-btn-sm" lay-event="hosmanager">医疗机构下辖机构</a>
</script>


<th:block th:include="include :: footer"/>
<th:block th:include="include :: datetimepicker-js"/>
<script th:inline="javascript">
    var editFlag = [[${@permission.hasPermi('yf:reports:edit')}]];
    var removeFlag = [[${@permission.hasPermi('yf:reports:remove')}]];
    var prefix = ctx + "yf/reports/statistical";

    var districtsId = [[${districtsId}]];
    var deptType = [[${deptType}]];

    // 时间
    var range = $.tableTemplate.dateValue("range"),
        startDate = $.tableTemplate.dateValue("start"),
        endDate = $.tableTemplate.dateValue('end');


    if (!districtsId) {
        layer.msg("当前机构未设置管理区域")
    }
    layui.use(['table', 'laydate'], function () {
        var laydate = layui.laydate,
            table = layui.table,
            config = {
                toolbar: "#toolbarDate",   // 工具控件
                page: false,        // 开启分页
                totalRow: true      // 合计
            },

            // 市级及以上表头
            cols_cityandup = [[
                {
                    field: 's1',
                    align: 'center',
                    title: '下辖',
                    totalRowText: '合计',
                    templet: function (row) {
                        if (row.i3 < 3)
                            return '<span lay-event="check" style="text-decoration: underline;color: #3636ad;">'
                                + row.s1 + '</span>';
                        else
                            return row.s1;
                    }
                },
                {
                    field: 'i2',
                    align: 'center',
                    title: '机构数量',
                    totalRowType: 'int',
                    totalRow: true
                },
                {
                    field: 'i1',
                    align: 'center',
                    title: '暂存点数量',
                    totalRowType: 'int',
                    totalRow: true
                },
                {
                    field: 'd1',
                    align: 'center',
                    title: '医疗废物产生量（kg）',
                    totalRow: true
                },
                {
                    field: 'd2',
                    align: 'center',
                    title: '医疗废物转运量（kg）',
                    totalRow: true
                },
                {
                    field: 'd3',//周一修改sql 通过sql计算出暂存量
                    title: '暂存量（kg）',
                    align: 'center',
                    totalRow: true
                }
            ]
            ],

            // 区县表头
            cols_county = [[
                {
                    field: 's1',
                    align: 'center',
                    title: '下辖',
                    totalRowText: '合计',
                    templet: function (row) {
                        if (row.i3 < 3)
                            return '<span lay-event="check" style="text-decoration: underline;color: #3636ad;">'
                                + row.s1 + '</span>';
                        else
                            return row.s1;
                    }
                },
                {
                    field: 'i2',
                    align: 'center',
                    title: '机构数量',
                    totalRowType: 'int',
                    totalRow: true
                },
                {
                    field: 'i1',
                    align: 'center',
                    title: '暂存点数量',
                    totalRowType: 'int',
                    totalRow: true
                },
                {
                    field: 'd1',
                    align: 'center',
                    title: '医疗废物产生量（kg）',
                    totalRow: true
                },
                {
                    field: 'd2',
                    align: 'center',
                    title: '医疗废物转运量（kg）',
                    totalRow: true
                },
                {
                    field: 'd3',
                    title: '暂存量（kg）',
                    align: 'center',
                    totalRow: true
                },
                // {
                //     field: 'null',
                //     title: '操作',
                //     // fixed: 'right',
                //     width: 390,
                //     align:'center',
                //     toolbar: '#barOperation'
                // }
                {
                    field: 'null',
                    title: '操作',
                    align: 'center',
                    width:390,
                    templet: function(value, row, index) {
                        return '<a class="layui-btn layui-btn-sm" lay-event="hospital">按医疗机构统计</a>'
                            + '<a class="layui-btn layui-btn-sm" lay-event="staging">按暂存点统计</a>'
                            + '<a class="layui-btn layui-btn-danger layui-btn-sm" lay-event="hosmanager">医疗机构下辖机构</a>';
                    }
                }
            ]
            ],

            // 按暂存点统计的医院表头
            cols_hosp = [[
                {
                    field: 'numbers',
                    align: 'center',
                    title: '序号',
                    totalRowText: '合计',
                    width: 150,
                    type: 'numbers'
                },
                {
                    field: 's1',
                    align: 'center',
                    title: '医院名称',
                    minWidth: 200
                },
                {
                    field: 's2',
                    align: 'center',
                    minWidth: 200,
                    title: '暂存点名称',
                    totalRow: false
                },
                {
                    field: 'd1',
                    align: 'center',
                    title: '医疗废物产生量（kg）',
                    totalRow: true
                },
                {
                    field: 'd2',
                    align: 'center',
                    title: '医疗废物转运量（kg）',
                    totalRow: true
                },
                {
                    field: 'd3',
                    title: '暂存量（kg）',
                    align: 'center',
                    totalRow: true
                }
            ]
            ],

        // 按医疗机构统计的医院表头
        cols_hosp2 = [[
            {
                field: 'numbers',
                align: 'center',
                title: '序号',
                totalRowText: '合计',
                width: 150,
                type: 'numbers'
            },
            {
                field: 'i2',
                align: 'center',
                title: '医疗机构',
                minWidth: 200
            },
            {
                field: 'i4',
                align: 'center',
                title: '机构等级',
                minWidth: 200
            },
            {
                field: 'i3',
                align: 'center',
                minWidth: 200,
                title: '上级医院',
                totalRow: false
            },
            {
                field: 'i5',
                align: 'center',
                title: '医废产生量（kg）',
                totalRow: true
            },
            {
                field: 'i11',
                align: 'center',
                title: '医疗废物转运量（kg）',
                totalRow: true
            },
            {
                field: 'i17',
                title: '时间段内医废积存量（kg）',
                align: 'center',
                totalRow: true
            },
            {
                field: 'i23',
                title: '截止到目前医废积存总量（kg）',
                align: 'center',
                totalRow: true
            }
        ]
        ],

        // 医疗机构下辖医疗机构
        cols_hosmanager = [[
            {
                field: 'numbers',
                align: 'center',
                title: '序号',
                totalRowText: '合计',
                width: '5%',
                type: 'numbers'
            },
            // {
            //     field: 'i1',
            //     align: 'center',
            //     title: '地区',
            //     minWidth: 200
            // },
            {
                field: 'hospitalName',
                align: 'center',
                title: '医疗机构名称',
                width: '12%'
            },
            {
                field: 'number',
                align: 'center',
                width: '12%',
                title: '下辖医疗机构数量',
                totalRow: true,
                totalRowType: 'int'
            },
            {
                field: 'i2',
                align: 'center',
                width: '70%',
                title: '下辖医疗机构名称'
            }
        ]
        ];


        // 判断是否是卫健局登录   deptType： admin 0  省卫健 110  市卫健  120  区县  130  省医院 220
        var tablehead;
        if ( deptType != null && deptType != '' ) {
            // layer.msg("机构类型 :  " + deptType );
            if( deptType === '120' ){       // 市级卫健委及以上
                tablehead = cols_county;
            }else if( deptType === '130' ){     // 区县卫健委显示医院
                tablehead = cols_hosp;
            }else{
                tablehead = cols_cityandup;   // 省级卫健委及以上
            }
        }else{
            layer.msg("未获取到机构类型");
        }


        // 加载表格 - 进入页面时
        tableRender(table, tablehead, districtsId, config, "/list");


        // 表格内监听
        table.on('tool(bootstrap-table)', function (obj) { //注：tool 是工具条事件名
            var data = obj.data; //获得当前行数据
            var layEvent = obj.event; //获得 lay-event 对应的值（也可以是表头的 event 参数对应的值）
            var tr = obj.tr; //获得当前行 tr 的 DOM 对象（如果有的话）

            if (layEvent === 'check') {     // 左侧下辖列的点击事件
                // layer.msg( data.i3 );
                if (data.i3 == 0) {     // 显示地级市
                    // cols_county[0][0].title = '市';
                    table.reload("bootstrap-table", {   // 重载表格
                        cols: cols_cityandup,
                        where: {
                            disId: data.i4,
                            startDate: startDate,
                            endDate: endDate
                        }
                    });
                } else if (data.i3 == 1) {      // 显示各区县
                    // cols_county[0][0].title = '县';
                    // 加载表格 - 点击地市进入各区县时
                    tableRender(table, cols_county, data.i4, config, "/list");

                } else if (data.i3 == 2) {  // 显示各医院
                    // 加载表格 - 点击区县进入显示各医院时
                    tableRender(table, cols_hosp2, data.i4, config, "/getStatisticalWithHospital");
                }

            } else if (layEvent === 'staging') {   // 按暂存点统计医废
                tableRender(table, cols_hosp, data.i4, config, "/list");

            } else if (layEvent === 'hospital') {   // 按医疗机构统计医废
                tableRender(table, cols_hosp2, data.i4, config, "/getStatisticalWithHospital");

            } else if (layEvent === 'hosmanager') {   // 医疗机构下辖机构
                tableRender(table, cols_hosmanager, data.i4, config, "/getHospitalManagerHospital");
            }

        });

        //  表格工具栏监听
        table.on('toolbar(bootstrap-table)', function (obj) {
            var data = obj.data; //获得当前行数据
            var layEvent = obj.event; //获得 lay-event 对应的值（也可以是表头的 event 参数对应的值）
            var tr = obj.tr; //获得当前行 tr 的 DOM 对象（如果有的话）

            if (layEvent === 'REPLY') {     // 返回
                // 加载表格 - 点击工具栏返回时
                tableRender(table, tablehead, districtsId, config, "/list");
            } else if (layEvent === 'submits') {
                table.reload('bootstrap-table', {
                    where: {
                        startDate: startDate,
                        endDate: endDate
                    }
                });
            }
        });

    });



    // 加载表格
    function tableRender(table,tablehead,disId,config,url){
        table.render($.extend({
                elem: '#bootstrap-table',
                method: 'post',
                title: '医废产量统计分析表',
                url: prefix + url,//数据接口
                method: 'post',
                where: {
                    disId: disId,
                    startDate: startDate,
                    endDate: endDate
                },
                cols: tablehead,
                defaultToolbar: [
                    {
                        title: '返回',            // 标题
                        layEvent: 'REPLY',     // 事件名，用于 toolbar 事件中使用
                        icon: 'layui-icon-return' // 图标类名
                    },
                    'filter',
                    'exports_custom',
                    'print'
                ],
                PrExData: {
                    PrTitle: "医废产量统计分析表",
                    ExTitle: "医废产量统计分析表",
                    header: [    //  ${start} 到 ${end}    ${toolbarDate_layui_2_start} 到 ${toolbarDate_layui_2_start}
                        {
                            type: "date",
                            float: "left",
                            size: 10,
                            dateFormat: "yyyy/MM/dd",
                            show: true,
                            text: ""       // 日期： ${start} 到 ${end}
                        }
                    ]
                },
                parseData: $.tableTemplate.parseData(),
                done: function (res, curr, count) {
                    $.tableTemplate.done(res, curr, count, config);
                }
            }, config )
        );
    }


</script>
</body>
</html>